/*********************************************************************
 * Copyright (C) 2008 by Duncan A. Buell.  All rights reserved.
 * Interface for a queue using a linked list of nodes.
 *
 * @author Duncan A. Buell
 * @version 1.00 2009-01-04
**/
public interface IQ
{
/*********************************************************************
 * Accessors and mutators.
**/
/*********************************************************************
 * Method to get the <code>size</code>.
 *
 * @return the <code>int</code> value of <code>size</code>.
**/
  public int getSize();

/*********************************************************************
 * Method to set the <code>size</code>.
 *
 * @param value the value to be used.
**/
  public void setSize(int value);

/*********************************************************************
 * General methods.
**/
/*********************************************************************
 * Method to add an entry to the back of a Q.
 *
 * @param node the <code>Record</code> item to add to the Q.
**/
  public void enterOntoQ(Record nodeData);

/*********************************************************************
 * Method to peek at the data of the leading node on the Q.
 *
 * @return the <code>Record</code> data in the leading node.
**/
  public Record peek();

/*********************************************************************
 * Method to take the leading entry from the Q.
 *
 * @return the <code>Record</code> item to take from the Q.
**/
  public Record takeFromQ();

/*********************************************************************
 * Method to <code>toString</code> a complete Q, including head
 * and tail nodes.
**/
  public String toString();

} // public interface IQ
